﻿using System.Collections.Generic;
using System.Threading.Tasks;
using SuperSocket;

namespace Lawn.AppServer
{
    public interface ISessionManager
    {

        Task Closed(IAppSession session);
        Task Connected(IAppSession session);
         
        Task<int> GetSessionCount();
        Task<List<IAppSession>> GetAllSession();
        Task<IAppSession> GetSession(string clientId);
        Task Add(string clientId, string topic);

        Task Remove(string clientId, string topic);

        Task<List<ClientInfo>> GetAll();

        Task<List<ClientInfo>> GetTopic(string topic);
    }
}